<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>处理元素的属性</title>
</head>
<body>
<div id="change" class="change">
    <a data-bind:href="https://www.baidu.com">有问题，百度一下</a>
</div>

<script>
    // step1. 查找元素
    let element = document.querySelector("#change > a");

    // step2. 获取元素所有的属性
    let attributeNames = element.getAttributeNames();

    // let result = attributeNames.indexOf('data-bind:src')
    // console.log(result);

    // step3. 判断属性是否包含 pre 指令
    let present = attributeNames.indexOf('data-pre')

    if (present !== -1) {
        // 当前元素不进行任何处理

    } else {
        // step4. 处理其他属性
        for (let attribute of attributeNames) {
            // 属性以 data-bind 开头
            // 模拟处理 data-bind 属性 或者 语法糖
            if (attribute.indexOf('data-bind') === 0 || attribute.indexOf(':') === 0) {
                let index = attribute.indexOf(':');
                // 要添加到元素的属性
                let name = attribute.substring(index + 1);

                // 要添加元素的属性值
                let value = element.getAttribute(attribute);

                console.log(name);
                console.log(value);
                // 将属性和属性值添加到元素
                element.setAttribute(name, value)
            }
        }
    }
</script>
</body>
</html>